﻿namespace Mongo.Core.Interfaces
{
    using System;
    using System.Linq;
    using System.Linq.Expressions;
    using Models;
    using MongoDB.Bson;

    public interface IUserRepository
    {
        IQueryable<User> All { get; }
        void Insert(User user);
        void Update(User user);
        void Update(User user, Expression<Func<User, object>> fieldToUpdate, object newValue);
        void Remove(User user);
        void Remove(ObjectId objectId);

    }
}